/**
 * 字典是一种以键 - 值对形式存储数据的数据结构,就像电话号码簿里的名字和电话号码一 样。
 * 要找一个电话时,先找名字,名字找到了,紧挨着它的电话号码也就找到了。这里的 键是指你用来查找的东西,值是查找得到的结果。
 */

 function Dictionary() {
 	this.dataStore = new Array();  //保存字典的值
 	this.find = find;
 	this.add = add;
 	this.remove = remove;
 	this.displayAll = displayAll;
 	this.count = count;
 }


/**
 * 根据字典的键查找对应的值
 * @param key 键
 * @return value 键对应的值
 */
function find(key) {
	return this.dataStore[key];
}

/**
 * 添加新的键值对到字典中
 * @param key 键
 * @return value 键对应的值
 */
function add(key, value) {
	this.dataStore[key] = value;
}

/**
 * 删除某个字典
 * @param key 键
 */
function remove(key) {
	delete this.dataStore[key];
}

/**
 * 获取字典的键值对数量
 * @return 值对数量
 */
function count() {
	return this.dataStore.length;
}


/**
 * 显示所有数据
 */
function displayAll() {
	//  这个遍历有待学习
    for each (var key in Object.keys(this.dataStore)) {
       print(key + " -> " + this.dataStore[key]);
    }
}


// 测试
var dict = new Dictionary();
dict.add(1, "value-2");
dict.add(2, "value1");
dict.add(3, "value-3");
dict.displayAll();
